<?php

App::import('Vendor', 'ClassEzpdf', array('file' => 'pdf/class.ezpdf.php'));
App::import('Vendor', 'EnLetras', array('file' => 'EnLetras.class.php'));
$pdf = new Cezpdf('LETTER');
$V = new EnLetras();
$pdf->ezStartPageNumbers(470, 100, 10, 'right', utf8_decode('Página' . "  {PAGENUM} de {TOTALPAGENUM}"), 1);
generar_cartaev(' ', "", $pdf);
$fecha = $V->obtenerMes(date('Y-m-d'));
$conteo_items = 0;
if ($tipo == 1) {
    $pdf->ezText(utf8_decode("RAD-"), 11, array('justification' => 'left'));
    $pdf->ezText(utf8_decode("Bogotá D.C, " . $fecha . "\n\n"), 11, array('justification' => 'left'));
    $pdf->ezText(utf8_decode("Doctor\n<b>FERNANDO PUERTO</b>\nSupervisor Contrato PSPJ-1688 de 2012\nOIM - Organización Internacional para las Migraciones \nCarrera 16 No. 93A-43, fpuerto@iom.int\nBogotá"), 11, array('justification' => 'left'));
    $pdf->ezText(utf8_decode("\n\n<b>Asunto</b>: Solicitud de aclaraciones a la propuesta \"<b>" . $this->Session->read('cod') . "</b> \".\n\nRespetado Doctor Puerto\n\n"), 11, array('justification' => 'left'));
    $str = "<b>PROPAIS -CORPORACIÓN PARA EL DESARROLLO DE LAS MICROEMPRESAS</b>, en virtud del Contrato de Prestación de Servicios  PSPJ-1688 de 2012 CM-230 suscrito  entre OIM y PROPAIS, cuyo objeto es el \"Aseguramiento de la calidad para la determinación de la viabilidad de los proyectos productivos presentados dentro de la Convocatoria SIT-01-2011 del INCODER\", atendiendo el Protocolo de Evaluación, los Términos de Referencia de la convocatoria en mención; de manera atenta solicita gestionar la aclaración y/o subsanación ante los responsables de cada componente, los siguientes aspectos:\n";
    $pdf->ezText(utf8_decode($str), 11, array('justification' => 'full'));

    $data = "";
    foreach ($documentos as $documento) {
        $data.=$documento['ProyectDocument']['concepto'] . "\n";
    }
    if (!empty($documentos)) {
        $conteo_items++;
        $pdf->ezText(utf8_decode("<b>$conteo_items FILTRO DOCUMENTAL:</b>\n\n$data"), 11, array('justification' => 'full'));
    }
    
    if (!empty($revision_proyecto)) {
        if ($revision_proyecto['ProyectReview']['calificacion'] == "Subsanable") {
            $conteo_items++;
            $pdf->ezText(utf8_decode("<b>$conteo_items REVISIÓN DE PROYECTO:</b>\n\n" . $revision_proyecto['ProyectReview']['concepto'] . "\n"), 11, array('justification' => 'full'));
        }
    }


    App::Import('model', 'PropertyReview');
    $Property = new Property();
    $data = "";
    $data1 = "";
    $data2 = "";
    $data3 = "";
    foreach ($predios as $predio) {
        if ($revision_predio = $Property->PropertyReview->find('first', array('recursive' => -1, 'conditions' => array('PropertyReview.property_id' => $predio['Property']['id']), 'order' => array('PropertyReview.id DESC'), 'fields' => array('PropertyReview.calificacion', 'PropertyReview.concepto')))) {
            if ($revision_predio['PropertyReview']['calificacion'] == "Subsanable")
                $data.= $revision_predio['PropertyReview']['concepto'] . "\n";
        }
        $Property->Owner->recursive = -1;
        $propietarios = $Property->Owner->find('all', array('conditions' => array('Owner.property_id' => $predio['Property']['id'])));
        foreach ($propietarios as $propietario) {
            if ($revision_prpietario = $Property->Owner->OwnerReview->find('first', array('recursive' => -1, 'conditions' => array('OwnerReview.owner_id' => $propietario['Owner']['id']), 'order' => array('OwnerReview.id DESC'), 'fields' => array('OwnerReview.calificacion', 'OwnerReview.concepto')))) {
                if ($revision_prpietario['OwnerReview']['calificacion'] == "Subsanable") {
                    $nombre = $propietario['Owner']['nombres'] . " " . $propietario['Owner']['primer_apellido'];
                    $data1.=$revision_prpietario['OwnerReview']['concepto'] . "\n";
                }
            }
        }

        //avaluos   
        $Property->EvaluationAppraisal->recursive = -1;
        if ($avaluo = $Property->EvaluationAppraisal->find('first', array('conditions' => array('EvaluationAppraisal.property_id' => $predio['Property']['id']), 'order' => array('EvaluationAppraisal.id DESC'), 'fields' => array('EvaluationAppraisal.calificacion', 'EvaluationAppraisal.concepto','EvaluationAppraisal.entidad')))) {
            if ($avaluo['EvaluationAppraisal']['calificacion'] == 2) {
                $data2.= "Elaborado por: ".$avaluo['EvaluationAppraisal']['entidad']."\n".$avaluo['EvaluationAppraisal']['concepto'] . "\n";
            }
        }
        $Property->TopographicMap->recursive = -1;
        if ($avaluo = $Property->TopographicMap->find('first', array('conditions' => array('TopographicMap.property_id' => $predio['Property']['id']), 'order' => array('TopographicMap.id DESC'), 'fields' => array('TopographicMap.calificacion', 'TopographicMap.observacion','TopographicMap.entidad')))) {
            if ($avaluo['TopographicMap']['calificacion'] == 2) {
                $data3 = "Elaborado por: ".$avaluo['TopographicMap']['entidad'] . "\n".$avaluo['TopographicMap']['observacion'] . "\n";
            }
        }
    }
    if (!empty($data)) {
        $conteo_items++;
        $pdf->ezText(utf8_decode("<b>$conteo_items CONTROL DE CALIDAD PREDIOS:</b>\n\n" . $data), 11, array('justification' => 'full'));
        $pdf->ezText(utf8_decode("\n"), 11, array('justification' => 'left'));
    }



    if (!empty($data1)) {
        $conteo_items++;
        $pdf->ezText(utf8_decode("<b>$conteo_items CONTROL DE CALIDAD PROPIETARIOS:</b>\n\n" . $data1), 11, array('justification' => 'full'));
        $pdf->ezText(utf8_decode("\n"), 11, array('justification' => 'left'));
    }





///CALIFICACION ASPIRANTES



    App::Import('model', 'CandidateReview');
    $CandidateReview = new CandidateReview();
    $data = "";

    foreach ($aspirantes as $aspirante) {
        if ($revision = $CandidateReview->find('first', array('recursive' => -1, 'conditions' => array('CandidateReview.candidate_id' => $aspirante['Candidate']['id']), 'order' => array('CandidateReview.id DESC'), 'fields' => array('CandidateReview.calificacion', 'CandidateReview.concepto')))) {
            if ($revision['CandidateReview']['calificacion'] == "Subsanable") {
                $nombre = $aspirante['Candidate']['1er_nombre'] . " " . $aspirante['Candidate']['1er_apellido'];
                $data.= "\n" . $nombre . ":\n";
                $data.= $revision['CandidateReview']['concepto'] . "\n";
            }
        }
    }
    if (!empty($data)) {
        $conteo_items++;
        $pdf->ezText(utf8_decode("<b>$conteo_items REVISIÓN ASPIRANTES:</b>\n\n$data\n"), 11, array('justification' => 'left'));
    }


    if (!empty($data2)) {
        $conteo_items++;
        $pdf->ezText(utf8_decode("<b>$conteo_items AVALÚOS:</b> \n\n$data2\n"), 11, array('justification' => 'left'));
    }



    if (!empty($data3)) {
        $conteo_items++;
        $pdf->ezText(utf8_decode(" <b>$conteo_items PLANO TOPOGRÁFICO:</b>\n\n$data3"), 11, array('justification' => 'full'));
    }
} elseif ($tipo == 2) {
    $str = "Señor:\n" . $evaluacion['InitialEvaluation']['asistencia_representante'] . "\nRepresentante Legal\n" . $evaluacion['InitialEvaluation']['asistencia_entidad'] . "\n\n";
    $pdf->ezText(utf8_decode($str), 11, array('justification' => 'left'));
    $pdf->ezText(utf8_decode("<b>Ref</b>: Solicitud de aclaraciones a la propuesta \"" . $this->Session->read('cod') . "\".\n\n"), 11, array('justification' => 'left'));
    $str = "La Organización Internacional para las Migraciones -OIM- en virtud del Contrato de Prestación de Servicios  PSPJ-1688 de 2012CM-230 suscrito con PROPAIS - CORPORACIÓN PARA EL DESARROLLO DE LAS MICROEMPRESAS, que tiene por objeto el \"Aseguramiento de la calidad para la determinación de la viabilidad de los proyectos productivos de la convocatoria SIT-01-2011 del INCODER\" y atendiendo el Protocolo de Evaluación y los Términos de Referencia de la convocatoria, de manera atenta requiere la aclaración y/o subsanación de los siguientes aspectos, para lo cual disponen de un término máximo de cinco (5) días calendario contados a partir de la fecha de envío de la presente comunicación.";
    $pdf->ezText(utf8_decode($str), 11, array('justification' => 'full'));
}
//Correcciones a proyecto productivo


$data = "";
if ($evaluacion['InitialEvaluation']['predio_ubicacion_calificacion'] == 'Subsanable') {
    $data.="<b>¿LOS DATOS DE UBICACIÓN DE LOS PREDIOS (MUNICIPIO, DEPARTAMENTO, VEREDA, PROPIETARIOS RELACIONADOS) COINCIDEN CON LOS DE FASE I ?</b>\n\n";
    $data.=$evaluacion['InitialEvaluation']['predio_ubicacion_concepto'] . "\n\n";
}
if ($evaluacion['InitialEvaluation']['predio_identificacion_calificacion'] == 'Subsanable') {
    $data.="<b>¿LOS DATOS DE IDENTIFICACIÓN DE EL (LOS) PREDIO(S), NOMBRE , MATRICULA INMOBILIARIA ,CÉDULA CATASTRAL COINCIDEN CON LOS DE FASE I ?</b>\n\n";
    $data.= $evaluacion['InitialEvaluation']['predio_identificacion_concepto'] . "\n\n";
}
if ($evaluacion['InitialEvaluation']['calificacion_valor_avaluo'] == 'Subsanable') {
    $data.="<b>PRECIO DE LOS PREDIOS:</b>\n\n";
    $data.= $evaluacion['InitialEvaluation']['concepto_valor_avaluo'] . "\n\n";
}
if ($evaluacion['InitialEvaluation']['area_productiva_calificacion'] == 'Subsanable') {
    $data.="<b>ÁREA PRODUCTIVA</b>\n\n";
    $data.= $evaluacion['InitialEvaluation']['area_productiva_concepto'] . "\n\n";
}
if ($evaluacion['InitialEvaluation']['construcciones_calificacion'] == 'Subsanable') {
    $data.="<b>CONSTRUCCIONES</b>\n\n";
    $data.= $evaluacion['InitialEvaluation']['construcciones_concepto'] . "\n\n";
}
if ($evaluacion['InitialEvaluation']['calificacion_areas_explotacion'] == 'Subsanable') {
    $data.="<b>ÁREA DEL PROYECTO PRODUCTIVO FORMULADO</b>:\n\n";
    $data.= $evaluacion['InitialEvaluation']['concepto_areas_explotacion'] . "\n\n";
}
if ($evaluacion['InitialEvaluation']['formularios_calificacion'] == 'Subsanable') {
    $data.="<b>COMPATIBILIDAD DEL PROYECTO PRODUCTIVO RESPECTO A LO DESCRITO EN LOS FORMULARIOS 6 Y 7:</b>\n\n";
    $data.= $evaluacion['InitialEvaluation']['formularios_concepto'] . "\n\n";
}
if ($evaluacion['InitialEvaluation']['explotacion_agraria_calificacion'] == 'Subsanable') {
    $data.="<b>EXPLOTACIÓN AGRARIA:</b>\n\n";
    $data.= $evaluacion['InitialEvaluation']['explotacion_agraria_concepto'] . "\n\n";
}

if ($evaluacion['InitialEvaluation']['vocacion_productiva_calificacion'] == 'Subsanable') {
    $data.="<b>VOCACIÓN PRODUCTIVA:</b>\n\n";
    $data.= $evaluacion['InitialEvaluation']['vocacion_productiva_concepto'] . "\n\n";
}

if ($evaluacion['InitialEvaluation']['asistencia_calificacion'] == 'Subsanable') {
    $data.="<b>ASISTENCIA TÉCNICA:</b>\n\n";
    $data.= $evaluacion['InitialEvaluation']['asistencia_concepto'] . "\n\n";
}

if (!empty($data)) {
    $conteo_items++;
    $pdf->ezText(utf8_decode("\n<b>$conteo_items PROYECTO PRODUCTIVO:</b>\n\n$data"), 11, array('justification' => 'full'));
}


App::Import('model', 'ProductiveLine');
$ProductiveLine = new ProductiveLine();
$ProductiveLines = $ProductiveLine->find('all', array('fields' => array('ProductiveLine.costos_calificacion', 'ProductiveActivity.nombre', 'ProductiveLine.costos_concepto', 'ProductiveLine.rendimientos_calificacion', 'ProductiveLine.rendimientos_concepto', 'ProductiveLine.precios_venta_calificacion', 'ProductiveLine.precios_venta_concepto', 'ProductiveLine.credito_calificacion', 'ProductiveLine.credito_concepto'), 'conditions' => array('ProductiveLine.initial_evaluation_id' => $evaluacion['InitialEvaluation']['id'])));
$lineas = "";
foreach ($ProductiveLines as $ProductiveLine) {
    $data = "";
    $flag = 0;
    if ($ProductiveLine['ProductiveLine']['costos_calificacion'] == 'Subsanable') {
        $data.="\n\n<b>COSTOS:</b>\n\n";
        $data.=$ProductiveLine['ProductiveLine']['costos_concepto'];
        $flag = 1;
    }
    if ($ProductiveLine['ProductiveLine']['rendimientos_calificacion'] == 'Subsanable') {
        $data.="\n\n<b>RENDIMIENTOS:</b>\n\n";
        $data.=$ProductiveLine['ProductiveLine']['rendimientos_concepto'];
        $flag = 1;
    }
    if ($ProductiveLine['ProductiveLine']['precios_venta_calificacion'] == 'Subsanable') {
        $data.="\n\n<b>PRECIOS DE VENTA:</b>\n\n";
        $data.=$ProductiveLine['ProductiveLine']['precios_venta_concepto'];
        $flag = 1;
    }
    if ($ProductiveLine['ProductiveLine']['credito_calificacion'] == 'Subsanable') {
        $data.="\n\n<b>CRÉDITO:</b>\n\n";
        $data.=$ProductiveLine['ProductiveLine']['credito_concepto'] . "\n";
        $flag = 1;
    }
    if ($flag == 1) {
        $lineas.="\n\n<b>" . $ProductiveLine['ProductiveActivity']['nombre'] . ":</b>\n" . $data;
    }
}


if (!empty($lineas)) {

    $pdf->ezText(utf8_decode("<b>LINEAS PRODUCTIVAS</b> $lineas"), 11, array('justification' => 'full'));
}

$data = "";
if ($evaluacion['InitialEvaluation']['componente_financiero_calificacion'] == 'Subsanable') {
    $data.="\n<b>COMPONENTE FINANCIERO:</b>\n\n";
    $data.= $evaluacion['InitialEvaluation']['componente_financiero_concepto'];
}

if (!empty($data)) {

    $pdf->ezText(utf8_decode("$data"), 11, array('justification' => 'full'));
}





$data = "";
App::Import('model', 'InitialEvaluationCandidate');
$EvCandidate = new InitialEvaluationCandidate();
$Evaspirantes = $EvCandidate->find('all', array('fields' => array('InitialEvaluationCandidate.calificacion', 'InitialEvaluationCandidate.observacion', 'Candidate.1er_nombre', 'Candidate.id', 'Candidate.1er_apellido'), 'conditions' => array('InitialEvaluationCandidate.initial_evaluation_id' => $evaluacion['InitialEvaluation']['id'])));
$fl = 0;


foreach ($Evaspirantes as $Evaspirante) {



    if ($Evaspirante['InitialEvaluationCandidate']['calificacion'] == "SUBSANABLE") {

        $data.="\n" . $Evaspirante['Candidate']['1er_nombre'] . " " . $Evaspirante['Candidate']['1er_apellido'] . "\n";
        $data.=$Evaspirante['InitialEvaluationCandidate']['observacion'] . ":\n";
    }
}
if (!empty($data)) {
    $conteo_items++;
    $pdf->ezText(utf8_decode("<b>$conteo_items FAMILIAS:</b>\n"), 11, array('justification' => 'full'));
    $pdf->ezText(utf8_decode("\n$data\n"), 11, array('justification' => 'full'));
}


$data = "";
if ($evaluacion['InitialEvaluation']['calificacion_integral'] == 'Subsanable') {
    $data.=$evaluacion['InitialEvaluation']['concepto_integral'] . "\n";
}
if (!empty($data)) {
    $pdf->ezText(utf8_decode("\n<b>OBSERVACIONES DEL EVALUADOR.</b>\n\n$data"), 11, array('justification' => 'full'));
}
if ($tipo == 1) {
    $str = "\nSe solicita coordinar la respuesta entre los participantes de los procesos previos para agilizar las aclaraciones y subsanaciones relacionadas en el presente documento, dada la necesidad de que éstas sean concordantes en todos los componentes y dentro de los plazos establecidos.\n\nAgradecemos hacer llegar las respuestas en medio digital al correo electrónico  propaisproyecto2012@gmail.com, y en medio físico por correo certificado a la siguiente dirección: Calle 70 No. 7-60 Of. 503  Edificio Monteros, Bogotá.";
    $pdf->ezText(utf8_decode($str), 11, array('justification' => 'full'));
    $pdf->ezText(utf8_decode("\n"), 11, array('justification' => 'left'));
    $str = "Cordialmente,\n\n\n<b>ALEXANDER BURGOS DIAZ</b>\nCoordinador de proyecto Propais\n\n";
    $pdf->ezText(utf8_decode($str), 11, array('justification' => 'full'));
    App::Import('model', 'User');
    $User = new User();
    $usuario = $User->find('first', array('recursive' => -1, 'conditions' => array('User.id' => $evaluacion['InitialEvaluation']['user_id'])));
    $nombre = $usuario['User']['nombre'] . " " . $usuario['User']['primer_apellido'] . " " . $usuario['User']['segundo_apellido'];
    $nombre = $nombre;
    $str = "Proyectó <b>$nombre</b> Evaluador-Propais ";
    $pdf->ezText(utf8_decode($str), 9, array('justification' => 'full'));
    $str = "cc: Cesar Gómez-Coordinador OIM,Javier Neva-Coordinador INCODER";
    $pdf->ezText(utf8_decode($str), 8, array('justification' => 'full'));
} elseif ($tipo == 2) {
    $str = "\nLe agradecemos enviar la respuesta correspondiente antes del vencimiento del término arriba señalado al correo electrónico propaisproyecto2012@gmail.com, y al fpuerto@iom.int, así como en medio físico por correo certificado a la Calle 70 No. 7-60 Of. 503 Edificio Monteros, Bogotá.\n\nSin otro particular me suscribo\n\nRespetuosamente,";
    $pdf->ezText(utf8_decode($str), 11, array('justification' => 'full'));
    $str = "\n\n\n\n\n<b>EDUARDO MEDINA</b>\nCoordinador Programa Migración y Ruralidad\nOrganización Internacional para las Migraciones OIM";
    $pdf->ezText(utf8_decode($str), 11, array('justification' => 'full'));
}
$pdf->ezStopPageNumbers(1, 1, 0);
$pdf->ezStream();
?>
<?php

function generar_cartaev($cod, $str, &$pdf, $start = true, $m_left = 2.5, $m_right = 2.5) {
    //App::import('Vendor', 'ClassEzpdf', array('file' => 'pdf/class.ezpdf.php'));
    if ($pdf == NULL) {
        //$pdf = new Cezpdf('LETTER');
    }
    if ($start) {
        $tmp = array(
            'b' => 'Trebuchet-Bold.afm'
            , 'i' => 'Trebuchet-Italic.afm'
            , 'bi' => 'Trebuchet-BoldItalic.afm'
            , 'ib' => 'Trebuchet-BoldItalic.afm'
            , 'bb' => 'Trebuchet-Bold.afm'
        );
        $pdf->setFontFamily('Trebuchet.afm', $tmp);
        $pdf->selectFont('fonts/Trebuchet.afm');

        $all = $pdf->openObject();
        $pdf->saveState();
        $pdf->restoreState();
        $pdf->closeObject();
        $pdf->addObject($all, 'all');
        $pdf->transaction('start');
    }

    $pdf->ezSetCmMargins(4, 5, $m_left, $m_right);

    $textOptions = array('justification' => 'full');
    $data = explode("\n", $str);
    $collecting = 0;
    foreach ($data as $d) {
        chop($d);
        if (strlen($d) && $d[0] == '#') {
            switch ($d) {
                case '#NP':
                    $pdf->ezNewPage();
                    break;
            }
        } else {
            $pdf->ezText($d, 8, $textOptions);
        }
    }
}

?>
